Pila 1.0 Beta 3 ReadMe
By Darrin Massena (darrin@massena.com)
27 Oct 96

Pila is a 68000 assembler that runs under Windows 95/NT and produces
Pilot executables. Documentation for Pila is in the HTML file 
doc\PilaUM.htm.

This version is of a BETA level of quality. That means it includes all
the documented features and has undergone a fair amount of public testing
to be sure they work. It also means that there are known bugs and anyone
using unstressed areas of the program may discover more bugs. If you
uncover any bugs or have suggestions on how to improve anything in the
Pila package (the program, documentation, this readme, etc) please send me
mail at darrin@massena.com. This is a part-time effort for me but I really
value your feedback and will respond as soon as I can.

Consult http://www.massena.com/darrin/pilot/pila.htm for an up-to-date
list of known bugs and other Pila status.

KNOWN BUGS

- Certain invalid syntaxes will cause the assembler to crash.
  For example defining an address operand like (a6,6) instead of 6(a6)
  will crash. (reported by Greg Hewgill)

- Pila reports the compressed size of an application's data section as
  being larger than the uncompressed size! This is actually not a bug
  but a fact because Pila does not implement complete data section
  compression yet. The 'compressed' size is larger (only 16 byte or so)
  because of overhead the PalmOS' compression format introduces.
  Presumably, when complete compression is implemented the savings will
  more than offset the overhead

REVISION HISTORY

ALPHA 1 (7 Aug 96)
- First release!

BETA 1 (10 Sep 96)
- added Wes Cherry's PilRC (0.71), a tool for creating Pilot resources,
  to the Pila package
- added Bill Hunt's PilDis (Alpha 1), a tool for disassembling Pilot
  code resources
- added Sample.rcp file to demonstrate resource creation. Sample.rcp
  replaces mbar1.bin and tfrm1.bin which are removed
- added Sample.bat file to build Sample.prc
- added special equates to Pilot.inc for the serial library APIs
- implemented source file name printing in error messages
- implemented a statistics dump after successful assembly. Displays
  sizes for code, data, resource, and the entire PRC. Keep those PRCs
  small!
- implemented a very minor Startup.inc optimization
- fixed bug that was causing line numbers to be offset by one inside
  include files and off by another one in the 'including' file
- fixed a HUGE bug that caused the data section and A5 register to be
  improperly initialized
- updated Sample.asm to demonstrate data section access (amongst other
  things)
- updated PilaUM.htm to incorporate various suggestions I received
  from Alpha testers, including a new section on the PalmOS API
  calling convention and a pointer to an online version of the
  Motorola 680x0 Programmer's Reference Manual -- get it!

Beta 2 (2 Oct 96)
- added 'align' directive for aligning code/data on user-defined boundaries
- added 'list' directive for enabling/disabling listing output
- added include path support via PILAINC environment variable
- added Copilot-compatible code symbol generation. Specify "-s" and your
  app's code symbols will be available while debugging under Copilot
- updated Startup.inc to use Wes' new directives (see below)
- updated documentation
- changed all errors to be output to stdout, rather than a mix of stdout/
  stderr
- added Wes Cherry's PilRCUI, a tool for previewing Pilot form resources,
  to the Pila package
- updated to Wes Cherry's PilRC version .8

Wes Cherry has been extending Pila and has added many new features to make
assembly language programming easier and less bug-prone. His new directives
and syntax support procedure parameter definition, procedure calling, trap
calling, local and global variable definition, and structure definition and
usage. Wow!

- the new directives are: call, systrap, syslibtrap, local, global, proc,
  beginproc, endproc, struct, endstruct, and sizeof
- added documentation for new directives to PilaUM.htm! Updated examples,
  etc to show new syntax
- Pila names (e.g., labels, equates) are now case sensitive. Instructions
  and directives remain case insensitive
- updated Pilot.inc to use the new structure syntax. Several incorrect
  structure member offsets were fixed in the process
- updated Sample.asm to use the new directives
- fixed the 'end' directive to work as it should and be optional

Beta 3 (2 Nov 96)
- incorporated Pila into the ASDK package. No more separate Pila releases
- added '-t' command line switch to set PRC type
- fixed problems in Pilot.inc where fields containing small enumerations 
  were incorrectly sized as words instead of bytes
- added an 'align 2' directive to be emitted after each debug symbol
  ('-s' switch)
- fixed DATA 0 resource format to be compatible with future PalmOS upgrades
- fixed other small bugs
